package com.banmao.algorithm.No301To400.No454;

import java.util.HashMap;

public class Solution1 {

    public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {

        // 设置map，key为数组1、2各元素的和，值为该和出现的次数
        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();

        // 遍历1、2
        for (int n1 : nums1) {
            for (int n2 : nums2) {
                int sum = n1 + n2;
                if(map.get(sum) == null) {
                    map.put(sum, 1);
                } else {
                    Integer count = map.get(sum);
                    map.put(sum, ++count);
                }
            }
        }

        int result = 0;
        // 开始遍历3、4
        for (int n3 : nums3) {
            for (int n4 : nums4) {
                int sub = -(n3 + n4);
                if(map.containsKey(sub)) {
                    // map中含有对应key，取其值
                    Integer count = map.get(sub);
                    result += count;
                }
            }
        }
        return result;

    }

}
